package org.epanetgrid.otimizacao.objfunctions;

import java.io.Serializable;

/**
 * Classes que o valor de uma fun��o objetivo devem implementar esta interface.
 *
 * @author Marcell Manfrin, marcell@ourgrid.org, Sep 12, 2005
 * @author Thiago Emmanuel Pereira da Cunha Silva, thiagoepdc@ourgrid.org, Sep 13, 2005
 */
public interface ObjectiveFunction<X, Y> extends Serializable {
    
    /**
     * 
     * @param obj Objeto a ser avaliado
     * @return Retorna um objeto referente ao valor do c�lculo da fun��o objetivo 
     */
    public Y evaluate(X obj);
    
}
